Low power and Lossy Networks (LLNs), e.g., sensor networks, have a myriad of applications, such as Smart Grid and Smart Cities. Various challenges are presented with LLNs, such as lossy links, low bandwidth, battery operation, low memory and/or processing capability, etc. One example routing solution to LLN challenges is a protocol called Routing Protocol for LLNs or “RPL,” which is a distance vector routing protocol that builds a Destination Oriented Directed Acyclic Graph (DODAG) in addition to a set of features to bound the control traffic, support local (and slow) repair, etc. The RPL architecture provides a flexible method by which each node performs DODAG discovery, construction, and maintenance.
One of the core aspects building a DAG, particularly in the case of RPL, lies in the use of an Objective Function (OF) configured on a DAG root that dictates a set of rules according to which nodes build (join) the DAG. That is, the OF specifies the list of metrics and constraints used to build the DAG, in addition to a number of rules and objectives. For example, one example OF may be to find a shortest path based on some reliability metric (thus, the most reliable path), while avoiding battery operated nodes. Another example OF could specify to find a shortest path based on a delay metric (thus, the shortest delay), while using encrypted links.
Generally, it is extremely difficult to know a priori the shape of a DAG, essentially because of the looseness of the network, the physical topology of the network (especially when interconnected with low power wireless links), and unpredictable quality of the links. With current approaches to setting an OF, it is possible to end up with a DAG that will not satisfy requirements of the DAG's end nodes or root. As one example, if the chosen objective is to find the shortest path according to some strict constraints (e.g., build for optimality), this may lead to limited connectivity, and thus poor load balancing of congested links (e.g., resulting in poor scalability).